//
//  UIDeviceExtension.swift
//  YouCaiShoppingMall
//
//  Created by 优裁科技 on 2017/10/12.
//  Copyright © 2017年 优裁科技. All rights reserved.
//

import UIKit

extension UIDevice {

    /**!
     * 判断是否为iPhoneX(375 x 812)、iPhone XR(414 x 896)、iPhone XS(375 x 812)、iPhone XS Max(414 x 896)
     * 用法：UIDevice.current.isiPhoneX()
     * 参考：https://mobile.zcool.com.cn/article/ZNzc2OTI4.html?from=timeline&isappinstalled=0
     */
    public func isiPhoneX() -> Bool {
        if UIScreen.main.bounds.size.height == 812 || UIScreen.main.bounds.size.height ==  896 {
            return true
        }
        else if UIScreen.main.bounds.size.width == 812 || UIScreen.main.bounds.size.width ==  896 {
            return true
        }
        //平板第三代 1024 * 1366 12.9英寸
        else if (UIScreen.main.bounds.size.height == 1366 || UIScreen.main.bounds.size.width ==  1366) && UIApplication.shared.statusBarFrame.height > 20 {
            return true
        }
        //iPhone12 系列
        else if self.isiPhone12() {
            return true
        }
        
        return false
    }
    
    /**!
     * 判断是否为iPhone12(390 * 844)、iPhone12 Pro(390 * 844)、iPhone12 mini(375 * 812)、iPhone ProMax(428 * 926)
     * 都是全面屏刘海设计 @3x图
     * 参考：https://www.sohu.com/a/424548372_406118
     */
    public func isiPhone12() -> Bool {
        if UIScreen.main.bounds.size.height == 844 || UIScreen.main.bounds.size.height == 812 || UIScreen.main.bounds.size.height == 926 {
            return true
        }
        else if UIScreen.main.bounds.size.width == 844 || UIScreen.main.bounds.size.width == 812 || UIScreen.main.bounds.size.width == 926 {
            return true
        }
        return false
    }

    /**!
     * 判断是否为 iPhoneSE、iPhone5、5s、5c(或4英寸 设备)
     * 4英寸设备分辨率：640*1136
     */
    public func isiPhoneSE() -> Bool {
        if UIScreen.main.bounds.size.height == 568 {
            return true
        }
        else if UIScreen.main.bounds.size.width == 568 {
            return true
        }

        return false
    }
    
    /**!
     * 判断是否为 iPhoneSE2
     * 4.5英寸设备分辨率：750*1334
     */
    public func isiPhoneSE2() -> Bool {
        if UIScreen.main.bounds.size.height == 667 {
            return true
        }
        else if UIScreen.main.bounds.size.width == 667 {
            return true
        }

        return false
    }

    /**!
     * 判断是否为 iPhone4、4s(或3.5英寸 设备)
     * 3.5英寸设备分辨率：640 * 960
     */
    public func isiPhone4() -> Bool {
        if UIScreen.main.bounds.size.height == 480 {
            return true
        }
        else if UIScreen.main.bounds.size.width == 480 {
            return true
        }

        return false
    }

    /**!
     * 是否为小尺寸的设备(指屏幕尺寸为4英寸及其以下的设备)
     * 4'   640 * 1136 设备：iPhoneSE、iPhone5、iPhone5c、iPhone5s
     * 3.5' 640 * 960 设备：iPhone4s、iPhone4、iPhone3GS、iPhone3G
     */
    public func isSmallDevice() -> Bool {
       return self.isiPhone4() || self.isiPhoneSE()
    }
    
    /**! 获取系统当前版本 */
    public func getFloatSystemVersion() -> Float {
        let strVersion = UIDevice.current.systemVersion
        return NSString.init(string: strVersion).floatValue
    }
}
